package dynamicprogramming;

/**
 * @author DuJiabao
 * @create 2021-01-01 15:18
 * 极客时间 40节
 * 对于一组不同重量、不可分割的物品，我们需要选择一些装入背包，在满足背包最大重量限制的前提下，背包中物品总重量的最大值是多少
 */
public abstract class Example1 {
    protected int maxW = Integer.MIN_VALUE; // 结果放到maxW中
    protected int[] weight = {2, 2, 4, 6, 3}; // 物品重量
    protected int n = 5; // 物品个数private
    protected int w = 9; // 背包承受的最大重量

    /**
     * 动态规划
     * @param weight 所有物品的重量
     * @param n 物品数量
     * @param w 背包最多可承受的重量
     */
    public abstract void f(int[] weight, int n, int w);
}
